package com.miplus.ccrm.report.mapper;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.miplus.ccrm.report.controller.vo.cti.*;
import com.miplus.ccrm.report.controller.vo.ivr.listAgentCallVO;
import com.miplus.ccrm.report.controller.vo.rep.*;
import com.miplus.ccrm.report.controller.vo.robot.CallStatsVo;
import com.miplus.ccrm.report.pojo.ReportCallHist;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import javax.validation.constraints.NotNull;
import java.util.Date;
import java.util.List;

/**
 * @author pc
 * @description 针对表【report_call_hist】的数据库操作Mapper
 * @createDate 2024-07-30 13:27:08
 * @Entity com.miplus.ccrm.report.pojo.ReportCallHist
 */
@Mapper
public interface ReportCallHistMapper extends BaseMapper<ReportCallHist> {

    IPage<CallAgDayResVo> repAgentCallDay(Page<Object> objectPage, String usrid, CallAgDayReqVo paras);

    IPage<RecyAgDayResVo> recoveryTotal(Page<Object> objectPage, String $usrid, RecyAgDayReqVo paras);

    IPage<DistCaseNumResVo> assignTotal(Page<Object> objectPage, String $usrid, DistCaseNumReqVo paras);

    IPage<CallStatsVo> repRobotCallDay(Page<Object> objectPage, CallStatsReqVo paras);

    IPage<listAgentCallVO> listAgentCall(Page<Object> objectPage, listAgReqCallVo paras);

    IPage<AcdResVo> repAcdCallDay(Page<Object> objectPage, AcdReqVo paras);

    IPage<CallStatisticsResVo> repCallStatistics(Page<Object> objectPage, CallStatisticsReqVo paras);
    
    List<CallInTrendResVo> queryCallInTrend(@Param("paras") CallInTrendReqVo paras);

    List<ReportCallHist> selectDistinctRecords(@NotNull String startDate, String endDate);
}





